1. Field of the Invention
This invention relates to modems in which the processor of a host computer executes procedures which implement modem functions or protocols.
2. Description of Related Art
Host signal processing (HSP) modems use a central processing unit (CPU) in a host computer to perform digital signal processing tasks which are performed by hardware in conventional modems. For example, a conventional modem receives data from a host computer, converts the data to an analog signal in compliance with a communication protocol, and transmits the analog signal on telephone lines. The conventional modem also receives an analog signal from telephone lines, extracts data from the analog signal, and transmits the data to the host computer.
For an HSP modem, the host computer executes software which performs many of the conversions performed by hardware in a conventional modem. Hardware in HSP modems performs simple analog-to-digital and digital-to-analog conversions such as converting a received analog signal to a series of digital samples which represent amplitudes of the received signal. The host computer executes software which interprets the samples according to a modem protocol and derives received data from the samples. The host computer also generates output samples which represent amplitudes of a transmitted analog signal in compliance with the modem protocol, and the hardware of the HSP modem converts the output samples into the transmitted analog signal.
Execution of HSP modem software typically occurs during periodic interrupts of the host CPU. During each such interrupt, the host CPU executes a task which reads a first block of digital samples from the modem hardware, extracts received data from the first block of samples, encodes data to be transmitted as a second block of digital samples representing an analog signal in accordance with a modem protocol, and writes the second block of digital samples to the modem hardware. Between interrupts, the modem hardware uses the second block of digital samples to maintain a continuous transmitted signal and collects a block of samples of the received signal to be read during the next interrupt. The blocks of digital samples have a size about equal to the sampling rate of the modem hardware times the time between consecutive interrupts. The amount of data represented by a block of samples depends on a data transfer rate for the modem protocol.
When compared to conventional modems, HSP modems have less complex (and less expensive) hardware because HSP modems do not require dedicated signal processors. However, HSP modems consume part of the host computer's processing power, and the varied available computing power of different host computers is a concern for HSP modems. For example, host CPUs for IBM PC compatible computers come in a variety of types (e.g. 486, 586, 686, Pentium, and K5) which operate at a variety of clock speeds. Some computer systems may be unable to execute HSP modem processes and still provide adequate performance for other applications such as communications software which is interrupted for modem processes. In a worst case, the host CPU has insufficient available processing power for the HSP modem alone, and the HSP modem is inoperable.